1. Field of the Invention
The present invention generally relates to computer systems, and more particularly to a graphical user interface providing a visual correspondence between an item on a pulldown menu and an item on a toolbar.
2. Description of the Related Art
The basic structure of a conventional computer system 10 is shown in FIG. 1. Computer system 10 has at least one central processing unit (CPU) or processor 12 which is connected to several peripheral devices, including input/output devices 14 (such as a display monitor, keyboard, and graphical pointing device) for the user interface, a permanent memory device 16 (such as a hard disk) for storing the computer's operating system and user programs, and a temporary memory device 18 (such as random access memory or RAM) that is used by processor 12 to carry out program instructions. Processor 12 communicates with the peripheral devices by various means, including a bus 20 or a direct channel 22. Computer system 10 may have many additional components which are not shown, such as serial and parallel ports for connection to, e.g., modems or printers. Those skilled in the art will further appreciate that there are other components that might be used in conjunction with those shown in the block diagram of FIG. 1; for example, a display adapter connected to processor 12 might be used to control a video display monitor, and a memory controller may be used as an interface between temporary memory device 18 and processor 12. Computer system 10 also includes firmware 24 whose primary purpose is to seek out and load an operating system from one of the peripherals (usually permanent memory device 16) whenever the computer is first turned on.
With further reference to FIG. 2, conventional computer systems often employ a graphical user interface (GUI) to present information to the user. In the example of FIG. 2, a generic application program entitled "Document Manager" is presented by the GUI as a primary application window (parent window) 26 on a display device (i.e., video monitor) 28. In this example, the application window has several secondary, enclosed windows (child windows) 30, 32 and 34 which depict the contents of various files that are handled by the program. A menu bar 36 with a standard set of commands, and a toolbar 38 may also be provided as part of the GUI, to simplify manipulation and control of the objects (e.g., text, charts and graphics) within the child windows. Toolbars can be provided as rows or columns, and have several buttons comprising textual icons, non-textual (graphic) icons, or icons having both graphic and textual elements. The depicted toolbar 38 includes, for example, three common edit-type buttons 40, 42 and 44 used respectively to "cut," "copy" and "paste" file objects. Each of these buttons can be easily selected using the graphical pointer 46 controlled by a pointing device (e.g., mouse) connected to the computer which is manually actuated.
As further seen in FIG. 3, when a given item on the menu bar 36 is selected, the GUI displays a pulldown menu 48. A pulldown menu has several lines, and a given line can provide a single command or provide a link to a further pulldown menu. It is very common for there to be a one-to-one mapping between individual menu bar pulldowns and toolbar items. For instance, if the user selects the "Edit" feature on menu bar 36 (using either the pointing device or the keyboard), pulldown menu 48 is displayed, and includes pulldowns "Undo," "Cut," "Copy," "Paste," "Clear," "Find," and "Replace" (the underlined letters in these words correspond to the keystrokes on the keyboard which can be used to select the pulldowns while the pulldown menu is displayed). Of these seven pulldown items, three of them thus correspond to toolbar items; namely, the second, third and fourth lines respectively correspond to buttons 40, 42 and 44. The other four lines on pulldown menu 48 have no corresponding buttons in the depicted toolbar 38, although many application programs allow the user to customize toolbars to, e.g., add buttons for other pulldowns.
Pulldown menus and toolbars offer a simple and user-friendly way of executing special program commands. As shown in FIG. 3, a pulldown menu can offer even more user friendliness by indicating, on the corresponding lines, special keystrokes or keystroke combinations that can be used to select the pulldown commands even when the pulldown menu is not being displayed. However, when scanning the menu bar pulldowns, it is not apparent whether there are corresponding toolbar items and, if corresponding toolbar items do exist (and are displayed within the application window), there is no indication of where on the toolbar the items are. A similar problem is found in the reverse context, that is, when selecting a toolbar icon it is never apparent to the user that there is any corresponding menu bar pulldown item. This information would be useful in many cases, but quite often is not implemented unless the user is conscientious about reviewing the application program documentation, and remembers all of the toolbar-pulldown links. This problem can be mitigated by providing intuitive graphic symbols but, as the number of such icons proliferate it becomes more difficult to provide any meaningful correspondence between toolbar items and pulldowns. The "bubble help" feature of some programs allows a user to select a mode wherein, when the graphical pointer is placed over a toolbar button, a small conversation bubble appears on the screen with information about the button, but this increases the visual complexity of the user interface. Also, while the toolbar item could include more textual information which would make the corresponding pulldown more apparent, this approach is contrary to the compact design of toolbar buttons. It would, therefore, be desirable to devise a method of affording feedback to users that easily and intuitively provides knowledge of any mapping between an item on a pulldown menu and its corresponding item on a toolbar. It would be further advantageous if the method would retain current toolbar and pulldown behavior, but extend their functionality without increasing the visual complexity.